package com.ycm.vo.menu;

import io.swagger.annotations.ApiModel;
import lombok.Builder;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ycm
 * @date 2024-11-15
 */
@Data
@Builder
@ApiModel
public class MenuVo {
    /**
     * 名称
     */
    private String name;
    /**
     * 路径
     */
    private String path;
    /**
     * 组件
     */
    private String component;
    /**
     * 跳转路径
     */
    private String redirect;
    /**
     * 附加信息
     */
    private MetaVo meta;
    /**
     * 子菜单
     */
    private List<MenuVo> children;

    /**
     * 默认值
     */
    public static List<MenuVo> _default() {
        List<MenuVo> menus = new ArrayList<>();

        menus.add(
                MenuVo.builder()
                        .name("/system")
                        .path("/system")
                        .component("Layout")
                        .redirect("/system/user")
                        .meta(MetaVo.builder().title("首页").icon("dashboard").build()
                        ).build()
        );

        return menus;
    }
}
